package com.taobao.demo.goods.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.PositiveOrZero;
import java.math.BigDecimal;
/**
 * 类描述：
 * 
 * @author xhy
 * @date 2025/10/17 18:47
 * @version 1.0.0
 */
@Data
public class GoodsSaveDTO {
    private Long id;  // 更新时需要传递，新增时无需传递

    @NotBlank(message = "商品名称不能为空")  // 非空校验
    private String name;  // 商品名称

    private String description;  // 商品描述（可选）

    private String mainImage;  // 主图URL（可选）

    @NotNull(message = "商品价格不能为空")  // 非空校验
    @PositiveOrZero(message = "商品价格不能为负数")  // 正数或0校验
    private BigDecimal price;  // 商品价格

    @NotNull(message = "库存数量不能为空")
    @PositiveOrZero(message = "库存数量不能为负数")
    private Integer stock;  // 库存数量

    private String status;  // 状态：默认下架（DOWN），前端可指定

    @NotNull(message = "分类ID不能为空")
    private Long categoryId;  // 商品分类ID

    private String categoryName;  // 分类名称（可选，冗余存储）
}
